﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Migrator.Packets;
using Migrator.Util;
using Migrator.Entities;

namespace Migrator.Services.Advertisement.Packets
{
    /// <summary>
    /// ICMP Router solicitation packet
    /// 
    /// Structure (RFC 1256):
    /// 
    /// 0                   1                   2                   3
    /// 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    /// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    /// |     Type      |     Code      |           Checksum            |
    /// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    /// |                           Reserved                            |
    /// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    /// </summary>
    public class ICMPRouterSolicitationPacket : ICMPPacket
    {
        public ICMPRouterSolicitationPacket(Node source)
            : base(source, IPAddress.BroadcastAddress, 10, 0)
        {
            // The TTL for all Agent solicitations MUST be set to 1.
            this.TimeToLive = 1;
        }
    }
}
